Using DCC
DCC means Direct Client to Client connection, and is a function for transfering files and setting up a more secure chat connection between two people.

DCC status window
You can monitor your ongoing DCC Connections in the DCC Status window that can be opened from the Windows menu. This window lists each DCC connection, and provides details of the number of bytes send and received as well as the connection status. 

The window has an Accept and a Close button. These buttons are used to accept or close a particular incoming DCC connection, so they are enabled when you select a DCC connection from the list.

Accepting incoming DCC requests
In addition to choosing the DCC request in the DCC window and pressing "Accept" you can also type "/DCC Get" with an optional nickname. If you do not specify a nickname, the program will accept the first of the currently waiting DCC requests.

DCC Chat
DCC Chat sessions do not pass through the network of IRC servers that normal messages use. Instead these messages are transmitted directly between the two involved computers, which makes for a more secure connection. 

The DCC Chat sessions are started via normal IRC messages, but once the connection is established is becomes independant of the server connection, and will not be subject to the normal IRC problems like netsplit etc. 

Start a DCC Chat session with someone by typing 
/DCC chat <nickname> 

Sending Files
Snak can send files using either Binary or MacBinary transfer method (see next paragraph). To start the transfer, you can either type 

/DCC send <nickname> <full pathname>   OR
/DCC send <nickname>

If you do not provide a pathname, Snak will bring up a standard file dialog where you can select the file to send and choose the transfer method.

You can also send files to someone by dragging its icon into the userlist and releasing it onto the nick that you want to send it to. This method will use the default transfer method that you have selected under the DCC preferences in the preferences window.

Choosing the transfer method
The correct transfer method depends on the kind of file and of the receiving computer. MacBinary is only supported on Macintosh IRC clients, so if the receiver is using a PC, the Binary transfer method should be used. To send files to someone on another Mac, the MacBinary format should be used. 

MacBinary is a standard of specifying the specifics of Macintosh files. On a PC a file is just a stream of bytes with no additional information. However, a Mac needs additional information in order to correctly display the file icon and launch the correct application when an user doubleclicks the file. 

Additionally, a Macintosh file comes in two parts - a data fork which corresponds to a PC file, and a resource fork which has no PC counterpart. The MacBinary standard defines how the filetype information, the data fork and the resource fork is packed together, so if the receiver is on a Macintosh, the MacBinary format should be used. 

If the Binary transfer method is chosen instead it is not possible to correctly transfer certain types of files like applications, because only the data fork will be sent. If the files are raw data - like .jpg pictures, the Binary method is fine because such files typically do not contain a resources.

Receiving Files
Snak can automatically detect if an incoming file is MacBinary or Binary
To accept a file that has been offered, open the DCC Status window, select the particular DCC connection and press the Accept button. Snak will then acknowledge the other computer that it is ready and the transfer will begin. 

You can also type "/DCC Get" with an optional nick name to accept the transfer.

If you have chosen to automatically receive DCC file transmissions, the file will be placed in the folder that was selected on the DCC panel in the preferences window. In that panel you can also specify that you automatically want to accept DCC file transfers, either from everybody or just a specified list of nicknames.

If you manually accept an incoming file, the program will display a save file dialog where you can specify where to save the file.